ついにAWSがマネージドなカオスエンジニアリングサービスを発表したぞ #reinvent
Werner Vogels氏のKeynoteで発表されました。 そうです、Well-Architected Frameworkの設計の一部となったカオスエンジニアリングのサービスです。
名前は、AWS Fault Injection Simulatorです。 そのうち出るだろとは思っていましたが、案外早かったですね。
今から使えると言うわけではなく、2021年の早期に提供するとのこと。
カオスエンジニアリングは、簡単にまとめるとシステムに対して何か破壊的なイベントを発生させ、弱点を見つけ出し、影響が出る前に改善していくという手法です。
AWS Fault Injection Simulatorでは、AWSサービスの範囲全体で制御されたカオスエンジニアリング実験をセットアップして実行するプロセスを簡素化する と説明されていました。
AWS Fault Injection Simulatorを使ったカオス実験のフローですが、サービスページに上記の画像が載っていました。
- サーバーの遅延、DBのエラーなどを発生させるテンプレートが用意される
- 特定の条件が満たされた場合に実験を自動的にロールバックまたは停止できる(AmazonCloudWatchアラームなど)
- コンソールを数回クリックするだけで、一般的な分散システム障害が並行して発生
- 多くのアクションタイプではエージェントをインストールしなくていい(インスタンスレベルの障害には、SSMエージェントが必要とのこと)
- AmazonEventBridgeを介してAmazonCloudWatchおよびサードパーティのモニタリングツールをサポート
- AWS Systems Managerを使用してカスタム障害タイプを作成できる
- IAMと統合されているので実行する権限を持つユーザーとリソース、および影響を受ける可能性のあるリソースとサービスを制御できる
このような特徴があるようです。
その他、機能の説明はこちらに書かれていますのでご参照ください。
このサービスの登場で、AWS上のシステムに対して定期的に障害を起こすゲームデイの実施、CI/CDに組み込んで障害の影響を繰り返しテストするといったことが容易になるとされています。
Amazon EC2、Amazon EKS、Amazon ECS、Amazon RDSなどのサービスに対して障害を作成できると書かれていましたが、DynamoDBやCloudfront、ElastiCache、Lambda、API Gatewayなどもサポートされるのでしょうか? GA時にはきっと色々と対応サービスが増えるであろうと期待しておきましょう。
※ AWS Fault Injection Simulator FAQも用意されています